package com.zutassociation.system.service.impl;

import com.zutassociation.system.domain.Forum;
import com.zutassociation.system.mapper.ForunMapper;
import com.zutassociation.system.service.ForumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 论坛 服务层实现
 * @author 黄玉东
 * @version 1.0
 * @date 2021/5/8 13:53
 */
@Service
public class ForumServiceImpl implements ForumService {
    @Autowired
    private ForunMapper forunMapper;

    /**
     * 查询论坛信息
     *
     * @param forumId 论坛ID
     * @return 论坛信息
     */
    @Override
    public Forum selectForumById(Long forumId) {
        return forunMapper.selectForumById(forumId);
    }

    /**
     * 查询发送人论坛信息
     *
     * @param userId 论坛ID
     * @return 论坛信息
     */
    @Override
    public Forum selectForumByUserId(Long userId) {
        return forunMapper.selectForumByUserId(userId);
    }

    /**
     * 查询论坛列表
     *
     * @param forum 论坛信息
     * @return 论坛集合
     */
    @Override
    public List<Forum> selectForumList(Forum forum) {
        return forunMapper.selectForumList(forum);
    }

    /**
     * 新增论坛
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int insertForum(Forum forum) {
        return forunMapper.insertForum(forum);
    }

    /**
     * 修改论坛
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForum(Forum forum) {
        return forunMapper.updateForum(forum);
    }

    /**
     * 修改论坛举报状态
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumReport(Forum forum) {
        return forunMapper.updateForumReport(forum);
    }

    /**
     * 修改论坛可用状态
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumStatus(Forum forum) {
        return forunMapper.updateForumStatus(forum);
    }

    /**
     * 修改论坛结帖状态
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumAccept(Forum forum) {
        return forunMapper.updateForumAccept(forum);
    }

    /**
     * 浏览量+1
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumClick(Forum forum) {
        return forunMapper.updateForumClick(forum);
    }

    /**
     * 点赞量+1
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumFabulous(Forum forum) {
        return forunMapper.updateForumFabulous(forum);
    }

    /**
     * 收藏量+1
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumCollection(Forum forum) {
        return forunMapper.updateForumCollection(forum);
    }

    /**
     * 回复量+1
     *
     * @param forum 论坛信息
     * @return 结果
     */
    @Override
    public int updateForumReply(Forum forum) {
        return forunMapper.updateForumReply(forum);
    }
    @Override
    public int updateForumReplyDel(Forum forum) {
        return forunMapper.updateForumReplyDel(forum);
    }

    /**
     * 批量删除论坛
     *
     * @param forumId 论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumById(Long forumId) {
        return forunMapper.deleteForumById(forumId);
    }

    /**
     * 批量删除论坛信息
     *
     * @param forumIds 需要删除的论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumByIds(Long[] forumIds) {
        return forunMapper.deleteForumByIds(forumIds);
    }

    /**
     * 批量修改论坛举报状态为 1 成功
     *
     * @param forumIds 需要阅读的论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumByReport1(Long[] forumIds) {
        return forunMapper.deleteForumByReport1(forumIds);
    }

    /**
     * 批量修改论坛举报状态为 2 不成功
     *
     * @param forumIds 需要阅读的论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumByReport2(Long[] forumIds) {
        return forunMapper.deleteForumByReport2(forumIds);
    }

    /**
     * 批量修改论坛结帖状态为 0
     *
     * @param forumIds 需要阅读的论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumByAccept0(Long[] forumIds) {
        return forunMapper.deleteForumByAccept0(forumIds);
    }

    /**
     * 批量修改论坛结帖状态为 1
     *
     * @param forumIds 需要阅读的论坛ID
     * @return 结果
     */
    @Override
    public int deleteForumByAccept1(Long[] forumIds) {
        return forunMapper.deleteForumByAccept1(forumIds);
    }
}
